package com.zmc.lostfound.auth.vo;

import com.zmc.lostfound.common.constant.RegexConstant;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import java.io.Serializable;

import static com.zmc.lostfound.common.constant.RegexConstant.PASSWORD_REGEX;

/**
 * @author ZMC
 * @description 修改密码请求体
 */
@Data
@ApiModel("修改密码请求体")
public class UpdatePasswordVO implements Serializable {

    private static final long serialVersionUID = -7681231528701896402L;

    /**
     * 手机号
     */
    @ApiModelProperty("手机号")
    @NotBlank(message = "手机号码不能为空")
    @Pattern(regexp = RegexConstant.PHONE_REGEX, message = "手机号码不合法")
    private String phone;

    /**
     * 短信验证码
     */
    @ApiModelProperty("短信验证码")
    @NotBlank(message = "短信验证码不能为空")
    @Pattern(regexp = RegexConstant.CAPTCHA_REGEX, message = "验证码必须由6位数字组成")
    private String captcha;

    /**
     * 新密码
     */
    @ApiModelProperty("新密码")
    @NotBlank(message = "新密码不能为空")
    @Pattern(regexp = PASSWORD_REGEX, message = "新密码限制为6~18个字符，至少包含1个字母、1个数字、1个特殊字符")
    private String newPassword;

    /**
     * 确认密码
     */
    @ApiModelProperty("确认密码")
    @NotBlank(message = "确认密码不能为空")
    @Pattern(regexp = PASSWORD_REGEX, message = "确认密码限制为6~18个字符，至少包含1个字母、1个数字、1个特殊字符")
    private String checkPassword;

}
